home *** CD-ROM | disk | FTP | other *** search
/ Cracking - A jak se proti němu bránit / Cracking-a-jak-se-proti-nemu-branit-covermount.bin / Priklady / Priklad 1 / DETECT1.ASM next >
Encoding:
Assembly Source File  |  2000-08-29  |  2.2 KB  |  71 lines

  1. .386
  2. .MODEL FLAT,STDCALL
  3. locals
  4. jumps
  5. UNICODE=0
  6. include w32.inc
  7.  
  8. Extrn SetUnhandledExceptionFilter : PROC
  9.  
  10. .data
  11.  
  12. sprava1        db "Detekcia volanim Int 68h",0
  13. sprava3        db "Soft-Ice najdeny",0
  14. sprava2        db "Soft-Ice nenasiel",0
  15. odlozESP       dd 0                             ;sem uklada register ESP
  16. predchadzajuca dd 0                             ;sem uklada adresu predchadzajucej obsluhy SEH
  17.  
  18.  
  19. .code
  20.  
  21. Start:
  22.  
  23. ;----------------------------------------------------------------------------
  24. ;NASTAVI SEH PRE PRIPAD CHYBY
  25. ;----------------------------------------------------------------------------
  26.                 mov  [odlozESP],esp
  27.                 push offset chyba
  28.                 call SetUnhandledExceptionFilter
  29.                 mov  [predchadzajuca], eax
  30. ;----------------------------------------------------------------------------
  31.  
  32.  
  33.                 mov  ah,43h                     ;cislo obsluhy
  34.                 int  68h                        ;vola prerusenie INT 68h
  35.  
  36.                 push eax                        ;ulozi navratovu hodnotu
  37.  
  38. ;----------------------------------------------------------------------------
  39. ;NASTAVI PREDCHADZAJUCU OBSLUHU SEH
  40. ;----------------------------------------------------------------------------
  41.                 push dword ptr [predchadzajuca]
  42.                 call SetUnhandledExceptionFilter
  43. ;----------------------------------------------------------------------------
  44.  
  45.                 pop  eax                        ;obnovi navratovu hodnotu
  46.  
  47.                 cmp  ax,0f386h                  ;testuje, ci je navratova hodnota "magicke" cislo
  48.                 jz   skok                       ;ak ano skok, pretoze Soft-Ice je aktivny v pamati
  49.  
  50.  
  51. continiue:
  52.                 call MessageBoxA,0, offset sprava2, offset sprava1,0
  53.                 call ExitProcess, -1
  54.  
  55. skok:
  56.  
  57.                 call MessageBoxA,0, offset sprava3, offset sprava1,0
  58.                 call ExitProcess, -1
  59.  
  60.  
  61.  
  62.  
  63. chyba:                                          ;nova obsluha SEH pre pripad chyby
  64.  
  65.                 mov  esp, [odlozESP]
  66.                 push offset continiue
  67.                 ret
  68.  
  69. ends
  70. end Start
  71.